package com.wicket.okrbff.web.contorller;

import cn.hutool.core.bean.BeanUtil;
import com.wicket.okrbff.biz.service.SmallCircleCommonService;
import com.wicket.okrbff.biz.service.dto.req.*;
import com.wicket.okrbff.biz.service.dto.res.*;
import com.wicket.okrbff.common.ro.OkrResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.wicket.okrapp.integration.FwAppSmallCircleCommonClient;
import com.wicket.okrcomponent.integration.FwCompUnstructuredDataClient;
import com.wicket.okrapp.integration.FwAppIndexSystemClient;
import com.wicket.okrapp.integration.FwAppDivineDataClient;
import com.wicket.okrapp.integration.FwAppTaskClient;
import com.wicket.okrapp.integration.FwAppWorkTasksClient;
import com.wicket.okrapp.integration.dto.QueryDeptSmallCircleListComRespDto;
import com.wicket.okrapp.integration.dto.QueryDeptSmallCircleListComReqDto;
import com.wicket.okrcomponent.integration.dto.BatchQueryUnstructuredRelationshipComRespDto;
import com.wicket.okrcomponent.integration.dto.BatchQueryUnstructuredRelationshipComReqDto;
import com.wicket.okrapp.integration.dto.BatchQueryTargetCatComRespDto;
import com.wicket.okrapp.integration.dto.BatchQueryTargetCatComReqDto;
import com.wicket.okrapp.integration.dto.ImplementReceiveContentIdComRespDto;
import com.wicket.okrapp.integration.dto.ImplementReceiveContentIdComReqDto;
import com.wicket.okrapp.integration.dto.EntityIdDto;
import com.wicket.okrapp.integration.dto.BatchQueryTargetObjComRespDto;
import com.wicket.okrapp.integration.dto.BatchQueryTargetObjComReqDto;
import com.wicket.okrcomponent.integration.dto.BatchQueryDmAttRelaComRespDto;
import com.wicket.okrcomponent.integration.dto.BatchQueryDmAttRelaComReqDto;
import com.wicket.okrapp.integration.dto.BatchQueryTaskComRespDto;
import com.wicket.okrapp.integration.dto.BatchQueryTaskComReqDto;
import com.wicket.okrapp.integration.dto.BatchQueryQuestionComRespDto;
import com.wicket.okrapp.integration.dto.BatchQueryQuestionComReqDto;
import com.wicket.okrbff.biz.service.dto.common.BffEntityIdDto;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollectionUtil;
import com.wicket.okrbff.common.exception.Assert;
import com.wicket.okrapp.integration.dto.QueryMyRelateThemeConListComRespDto;
import com.wicket.okrapp.integration.dto.QueryMyRelateThemeConListComReqDto;
import com.wicket.okrapp.integration.FwAppEvaThemeClient;
import com.wicket.okrapp.integration.dto.BatchQueryEvaTempRespDto;
import com.wicket.okrapp.integration.dto.BatchQueryEvaTempReqDto;
import com.wicket.okrbff.biz.service.dto.common.BffEvalTempDto;
import com.wicket.okrframework.integration.FwBaseOrgClient;
import com.wicket.okrframework.integration.dto.BatchQueryDeptComBorderRespDto;
import com.wicket.okrframework.integration.dto.BatchQueryDeptComBorderReqDto;
import com.wicket.okrbff.biz.service.dto.common.BffDeptDto;
import com.wicket.okrapp.integration.dto.QueryIdentitySmallCircleListComRespDto;
import com.wicket.okrapp.integration.dto.QueryIdentitySmallCircleListComReqDto;
import com.wicket.okrframework.integration.FwBaseMemberClient;
import com.wicket.okrframework.integration.dto.BatchQueryMemberProfileListByIdsComRespDto;
import com.wicket.okrframework.integration.dto.BatchQueryMemberProfileListByIdsComReqDto;
import com.wicket.okrapp.integration.dto.QuerySubordinateChargeSmallCircleListComRespDto;
import com.wicket.okrapp.integration.dto.QuerySubordinateChargeSmallCircleListComReqDto;
import com.wicket.okrbff.common.util.CommonFunctionHelper;
import com.wicket.okrapp.integration.dto.BatchQueryEvaTempComRespDto;
import com.wicket.okrapp.integration.dto.BatchQueryEvaTempComReqDto;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@Api(value = "SmallCircleCommon", tags = { "SmallCircleCommon" })
@RestController
// @RequestMapping("/oms/smallCircleCommon/")
public class SmallCircleCommonController {

  @Autowired
  SmallCircleCommonService smallCircleCommonService;
/**
   * B3查询部门所在圈子内容列表(管理)
   * gen by moon at 3/27/2024, 10:56:19 PM
   */
    @PostMapping("/oms/mgt/smallCircleCommon/queryDeptCircleContentList")
    @ApiOperation(value = "B3查询部门所在圈子内容列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryDeptCircleContentListRespDto> queryDeptCircleContentList(@RequestBody(required=false) @Validated BffQueryDeptCircleContentListReqDto reqDTO){
        return OkrResult.success(smallCircleCommonService.queryDeptCircleContentList(reqDTO));
    }
/**
   * B3查询我相关的评价模板列表(管理)
   * gen by moon at 3/27/2024, 11:14:53 PM
   */
    @PostMapping("/oms/mgt/smallCircleCommon/queryMyEvaluationList")
    @ApiOperation(value = "B3查询我相关的评价模板列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryMyEvaluationListRespDto> queryMyEvaluationList(@RequestBody(required=false) @Validated BffQueryMyEvaluationListReqDto reqDTO){
        return OkrResult.success(smallCircleCommonService.queryMyEvaluationList(reqDTO));
    }
/**
   * B3查询评价模板下的部门列表(管理)
   * gen by moon at 3/27/2024, 11:14:57 PM
   */
    @PostMapping("/oms/mgt/smallCircleCommon/queryDeptOfEvalutionList")
    @ApiOperation(value = "B3查询评价模板下的部门列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryDeptOfEvalutionListRespDto> queryDeptOfEvalutionList(@RequestBody(required=false) @Validated BffQueryDeptOfEvalutionListReqDto reqDTO){
        return OkrResult.success(smallCircleCommonService.queryDeptOfEvalutionList(reqDTO));
    }
/**
   * B3查询虚拟组织下的部门列表(管理)
   * gen by moon at 3/27/2024, 11:14:59 PM
   */
    @PostMapping("/oms/mgt/smallCircleCommon/queryDeptOfVirtualOrgList")
    @ApiOperation(value = "B3查询虚拟组织下的部门列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryDeptOfVirtualOrgListRespDto> queryDeptOfVirtualOrgList(@RequestBody(required=false) @Validated BffQueryDeptOfVirtualOrgListReqDto reqDTO){
        return OkrResult.success(smallCircleCommonService.queryDeptOfVirtualOrgList(reqDTO));
    }
/**
   * B3查询虚拟组织下的人员列表(管理)
   * gen by moon at 3/27/2024, 11:15:02 PM
   */
    @PostMapping("/oms/mgt/smallCircleCommon/queryPersopnOfVirtualOrgList")
    @ApiOperation(value = "B3查询虚拟组织下的人员列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryPersopnOfVirtualOrgListRespDto> queryPersopnOfVirtualOrgList(@RequestBody(required=false) @Validated BffQueryPersopnOfVirtualOrgListReqDto reqDTO){
        return OkrResult.success(smallCircleCommonService.queryPersopnOfVirtualOrgList(reqDTO));
    }
/**
   * B3查询我下属负责的小圈子列表(管理)
   * gen by moon at 3/27/2024, 11:15:06 PM
   */
    @PostMapping("/oms/mgt/smallCircleCommon/querySubordinateChargeSmallCircleList")
    @ApiOperation(value = "B3查询我下属负责的小圈子列表(管理)", response = OkrResult.class)
    public OkrResult<BffQuerySubordinateChargeSmallCircleListRespDto> querySubordinateChargeSmallCircleList(@RequestBody(required=false) @Validated BffQuerySubordinateChargeSmallCircleListReqDto reqDTO){
        return OkrResult.success(smallCircleCommonService.querySubordinateChargeSmallCircleList(reqDTO));
    }
}
